Electronic devices, including portable electronic devices, have gained widespread use and may provide a variety of functions including, for example, telephonic, electronic messaging and other personal information manager (PIM) application functions. Portable electronic devices include, for example, several types of mobile stations such as so-called smartphones, wireless personal digital assistants (PDAs), and laptop and pad/tablet-styled computers with wireless capabilities.
Many such devices permit the user to interact with the device using gestures. A gesture typically comprises a particular type of touch on a touch-sensitive display, and may begin at an origin point and continue to an end point. A particular gesture may be identified (from amongst a plurality of possible gestures) by attributes of the gesture including, for example, the origin point, end point, distance travelled, duration, velocity, and direction of the gesture. Such gestures can be considered two-dimensional gestures because the complete gesture occurs on the two-dimensional plane of a touch-sensitive display.
Some devices, in combination with two-dimensional gestures or in lieu thereof, are configured to permit the user to interact with the device via three-dimensional (3D) gestures. A gesture becomes a “3D” gesture when part or all of the gesture involves a path and/or event that is removed from the two-dimensional plane of the touch-sensitive display. As an illustrative example, a 3D gesture might comprise the user's pointing finger moving from the left side of the device laterally across the device to the right anywhere from 10 millimeters or so above the device to a few centimeters.
There are various known ways to detect a 3D gesture. Unfortunately, these known approaches each have their strengths and weaknesses. Some approaches, for example, are highly reliable with respect to accurately detecting and distinguishing between different 3D gestures, but consume a great deal of power and/or computational capacity. One approach may be particularly good at discerning gesture shapes, while yet another approach is particularly adept at detecting general relative motion, albeit with limited resolution and definition as regards shape and form.
As a result, 3D-gesture designers often find their gesture designs highly limited by the sensor choices that characterize a given product, while hardware designers may find their design requirements driven by specific 3D gestures that the final product must support.